package com.tjmc.recruit.admin.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tjmc.recruit.admin.api.enums.PlatUserTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 平台用户信息表
 *
 * @author recruit
 * @date 2024-10-29 14:41:11
 */
@Data
@TableName("platform_user_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "平台用户信息表")
public class PlatformUserInfoEntity extends Model<PlatformUserInfoEntity> {


	/**
	* 用户id
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="用户id")
    private Long id;

	/**
	* 用户类型：个人、企业
	*/
    @Schema(description="用户类型：个人、企业")
    private PlatUserTypeEnum userType;

	/**
	* 用户名称
	*/
    @Schema(description="用户名称")
    private String username;

	/**
	* 用户密码
	*/
    @Schema(description="用户密码")
    private String password;

	/**
	* 手机号
	*/
    @Schema(description="手机号")
    private String phone;

	/**
	* 用户头像
	*/
    @Schema(description="用户头像")
    private String avatar;

	/**
	* 用户昵称
	*/
    @Schema(description="用户昵称")
    private String nickname;

	/**
	* 用户姓名
	*/
    @Schema(description="用户姓名")
    private String name;

	/**
	* 性别：1男2女
	*/
    @Schema(description="性别：1男2女")
    private String gender;

	/**
	* 邮箱
	*/
    @Schema(description="邮箱")
    private String email;

	/**
	* 账号状态0正常1冻结2封禁
	*/
    @Schema(description="账号状态0正常1冻结2封禁")
    private String status;

	/**
	* 账号异常原因
	*/
    @Schema(description="账号异常原因")
    private String exceptionReason;

	/**
	* 删除标识
	*/
    @Schema(description="删除标识")
    private String delFlag;

	/**
	* 创建时间
	*/
    @Schema(description="创建时间")
    private LocalDateTime createdAt;

	/**
	* 更新时间
	*/
    @Schema(description="更新时间")
    private LocalDateTime updateAt;

	/**
	* 微信账号
	*/
    @Schema(description="微信账号")
    private String wxUserNo;

	/**
	* 微信openid
	*/
    @Schema(description="微信openid")
    private String wxOpenid;

	/**
	* 关联企业ID
	*/
    @Schema(description="关联企业ID")
    private Long companyId;

	/**
	* 关联企业名称
	*/
    @Schema(description="关联企业名称")
    private String companyName;
	/**
	 * 账号类型：MAIN：主账号 SUB：子账号
	 */
	@Schema(description="账号类型：MAIN：主账号 SUB：子账号")
	private PlatUserTypeEnum accountType;
	/**
	 * 账号创建者
	 */
	@Schema(description="账号创建者")
	private String createBy;

	/**
	 * 营业执照编号
	 */
	@TableField(exist = false)
	@Schema(description="营业执照编号")
	private String licenseNo;
}
